//
// Created by shen on 2024/10/30.
//

#ifndef CROSSPLATFORMPLAYER_DECODER_H
#define CROSSPLATFORMPLAYER_DECODER_H
typedef void (*MessageCallback)(void*, int, float);
typedef long (*AVSyncCallback)(void*);

class Decoder{
public:
    virtual void Start()=0;
    virtual void Pause() = 0;
    virtual void Stop() = 0;
    virtual float GetDuration() = 0;
    virtual void SeekToPosition(float position) = 0;
    virtual float GetCurrentPosition() = 0;
//    void (*p)(void*,int,int);

    virtual void SetMessageCallback(void* context, MessageCallback callback) = 0;
};
#endif //CROSSPLATFORMPLAYER_DECODER_H
